package br.com.cfccultura.admin.model.enums;

public enum Periodo {
	
	MANHA(1, "Manhã"),
	TARDE(2, "Tarde"),
	NOITE(3, "Noite"),
	SABADO(4, "Sábado"),
	DOMINGO(5, "Domingo"),
	SABeDOM(6, "Sáb e Dom");
	
	private Integer value;
	private String descricao;
	
	Periodo(Integer value, String descricao) {
		this.value = value;
		this.descricao = descricao;
	}
	
	public String getDescricaoPeriodo() {
		switch (this) {
			case MANHA: return "08:00hs às 12:10hs";			
			case TARDE: return "13:00hs às 17:10hs";
			case NOITE: return "18:50hs às 23:00hs";
			case SABADO: return "09:00hs às 18:00hs";
			case DOMINGO: return "09:00hs às 18:00hs";
			case SABeDOM: return "09:00hs às 18:00hs";
			
		}
		throw new RuntimeException("Invalid Periodo! " + this);
	}
	
	public static Periodo setValue(Integer value) {
		switch (value) {
			case 1: return MANHA;
			case 2: return TARDE;
			case 3: return NOITE;
			case 4: return SABADO;
			case 5: return DOMINGO;
			case 6: return SABeDOM;
		}
		throw new RuntimeException("Invalid Periodo! " + value);
	}
	
	public Boolean isFinalSemana() {
		switch (this) {
			case MANHA: 
			case TARDE:
			case NOITE: return false;
			case SABADO:
			case DOMINGO:
			case SABeDOM: return true;
		}
		throw new RuntimeException();
	}
	
	public Integer getValue() {
		return value;
	}
	
	public String getDescricao() {
		return descricao;
	}
}
